package com.yonyougov.devops.cruxcisupport.k8s.event;

import com.yonyougov.devops.cruxcisupport.k8s.error.K8sConfIgNotFindException;
import io.fabric8.kubernetes.api.model.Event;
import io.fabric8.kubernetes.client.KubernetesClient;

import java.util.List;

/**
 * k8s 事件相关的API
 */
public interface EventRepository {

    /**
     * 根据命名空间和应用名称查询相关事件
     * @param nameSpace 命名空间
     * @param podName  pod名称
     * @return io.fabric8.kubernetes.api.model.Event
     * @throws K8sConfIgNotFindException
     */
    List<Event> getEventsByPodName(String nameSpace, String podName) throws K8sConfIgNotFindException;


    /**
     * 根据命名空间和应用名称查询相关事件
     * @param client 客户端
     * @param nameSpace 命名空间
     * @param podName  pod名称
     * @return io.fabric8.kubernetes.api.model.Event
     * @throws K8sConfIgNotFindException
     */
    List<Event> getEventsByPodName(KubernetesClient client,String nameSpace, String podName);
}
